package com.tom.architect.party5.day43;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

/**
 * Added by Tom on 2024/10/11.
 */
public class TestActivity extends AppCompatActivity {

    Handler handler = new Handler() { // 内部对象，默认情况下会持有外部对象TestActivity的引用。
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            // 更新UI
            test(); // 持有Activity的引用，才能调用它的方法。
        }
    };

    public void test(){}

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        new Thread() {
            @Override
            public void run() {
                // 做耗时的操作。
                handler.sendMessage(new Message());
            }
        }.start();
    }
}
